2.6.7 - Uživatelské rozhraní
Uživatelské rozhraní slouží ke komunikaci s uživatelem, zobrazování zpráv
a zadávání parametrů důležitých pro chod aplikace. Uživatelské rozhraní nabízí
k dispozici 14 řádků o velikosti 40 znaků. Poslední řádek může být použit jako
menu, kterému mohou být přiřazeny klávesy.
Uživatelské menu je přístupné navigační klávesou "User" nebo může být automaticky
zobrazeno příkazem userPage(), který nemá žádnou návratovou hodnotu. Parametr
může být typu bool nebo nemusí být zadán vůbec. Pokud je parametr true, uživatelské
menu nelze vypnout dokud není volána instrukce userPage(false).
Zobrazování zpráv a textů
Jak už jsme si ukázaly dříve, pro zobrazení řetězce jsou k dispozici dvě instrukce. Instrukce putln po té co vypíše řetězec znaků na obrazovku na konci textu zalomí řádek. Tedy při dalším výpisu na obrazovku se bude začínat opět od nového řádku. Kdežto instrukce put pouze vypíše text na obrazovku. Obě instrukce mohou mít parametr typu string nebo num. Název uživatelského rozhraní může být nastaven instrukcí title, která zobrazí název aplikace ještě před prvním řádkem.
Příklad02:putln("Dnes si ukazeme vypis na obrazovku.")
03:put("Tento text se zobrazi na dalsim radku.")
04:putln("Ale ted pokracujeme na stejnem radku")
05:put(2)
06:put(4)
Výstup na obrazovku
==Moje uzivatelske rozhrani=============Dnes si ukazeme vypis na obrazovku.
Tento text se zobrazi na dalsim radku.Al
e ted pokracujeme na stejnem radku
24
Jak je vydět na výstupu z programu, na druhém řádku má být zobrazeno více než 40 znaků proto je instrukce na řádku 4 automaticky zalomena na další řádek. Také čísla 2 a 4 budou zobrazena jako 24 protože jsme použily instrukci put, která za sebou nezalamuje řádek.
ZprávyPro zobrazení varovné zprávy, lze použít instrukci popUpMsg, která zobrazí varovné okno na současné stránce na MCP displeji, které musí uživatel potvrdit klávesou "Ok" nebo "Esc". Pro zápis do záznamníku událostí (events logger) existuje instrukce logMsg, která zapíše událost do zásobníku událostí.
PříkladLokální data
num i01:title("Moje uzivatelske rozhrani")
02:putln("Zadejte cislo od 0 do 10:")
03:get(i)
04:ifi>=0 and i<=10
05: put("Zadaly jste cislo ")
06: putln(i)
07:else
08: logMsg("Number i is out of range!")
09: popUpMsg("Chyba: Zadane cislo je mimo pozadovany rozsah.")
10:endIf
Zde jsme si vytvořily jednoduchý příklad, který pracuje s instrukcemi pro
zobrazení varovných zpráv a záposem so záznamníku událostí.
Na řádku 3, máme instrukci get, která načte číslo z klávesnice. Na dalším
řádku toto číslo testujeme zda je v požadovaném rozsahu 0-10. Pokud je číslo
mimo tento rozsah, vykoná se podmínka else, ve které jsou instrukce
logMsg a popUpMsg. Instrukce logMsg, zapíše událost do
zásobníku událostí a instrukce popUpMsg upozorní uživatele, že požadované
číslo je mimo rozsah.
Čtení dat z klávesnice
Pro čtení dat z klávesnice slouží zejména instrukce get, která má jako parametr číslo nebo řetězec, do kterého uloží vstup z klávesnice. Jako návratovou hodnotu vrací číslo klávesy, kterou bylo potvrzeno zadávání. To je možné klávesou "Enter" nebo "Esc". Klávesa "Enter" potvrzuje zadání a klávesa "Esc" ruší zadávání a jako parametr neuloží nic.
PříkladLokální data
num istring str
do
i = get(str)
until(i == 270)
Smyčka do...until bude probíhat tak dlouho dokud uživatel nepovtrdí výběr klávesou "Enter", jejíž číselná hodnote je rovna 270. Pokud uživatel stiskne "Esc", smyčka se provede znova.
Další instrukcí pro čtení z klávesnice je getKey, která nemá žádný parametr. Návratová hodnota této instrukce je číslo klávesy, která byla naposledy stištěna. Tato instrukce nazobrazuje na obrazovce žádný výstup.
PříkladLokální data
num iputln("Stisknete libovolnou klavesu: ")
i = getKey()
put("Cislo stisknute klavesi je: ")
puln(i)
Test stisknutí klávesy
Pro testování, zda je stisknuta některá klávesa, slouží instrukce isKeyPressed (num nCode), která má jako parametr číslo klávesy, která se testuje zda je stisknuta. Návratová hodnota je typu bool. Pokud je klávesa stisknuta, je návratová hodnota true, jinak vrací false.
SyntaxePozice kurzoru
Příkazy pro výpis na obrazovku automaticky posunují kurzor na pozici, která ukazuje až za text, který vypsaly na obrazovku. Někdy je však potřeba změnit manuálně pozici kurzoru. K tomu slouží instrukce gotoxy(num nX, num nY), která nastaví kurzor na požadovanou pozici. Parametr nY určuje číslo řádku a nX určuje pozici na řádku. Výchozí hodnota je (0,0) a maximální je (39,14). Tato instrukce nemá žádnou návratovou hodnotu.
SyntaxeDalší, velice užitečnou a často používanou instrukcí je cls(). Tato instrukce nemá žádný prarametr ani žádnou návratovou hodnotu. Její funkce je ta, že smaže celou obrazovku a nastaví kurzor na pozici (0,0). Pokud vaše aplikace vypisuje nějaká data do uživatelského rozhraní, je lepší použíte tuto instrukci ještě před prvním výpisem na obrazovku, protože se může stát, že na obrazovce jsou stále zobrazeny nějaké znaky a kurzor není na výchozí pozici.
RS40B - uživatelský manuál